/*
 *
 * Saturn Framework Co.Limt
 * Copyright (c) 2012-2019 tanks, Inc. All rights reserved.
 */
 
package com.saturn.config.server.service;

import java.util.List;
import java.util.Map;
import java.util.Properties;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
import com.saturn.config.server.base.dto.ConfigInfo;
import com.saturn.config.server.base.entity.AppConfig;
import com.saturn.config.server.base.entity.SysUser;

/**
 * <dl>
 *    <dt><b>Title:</b></dt>
 *    <dd>
 *    	none
 *    </dd>
 *    <dt><b>Description:</b></dt>
 *    <dd>
 *    	<p>应用配置项
 *    </dd>
 *
 * @author tanks
 * @date 2019-07-08 15:58:43
 */
public interface AppConfigService extends IService<AppConfig> {

	/**
     * 翻页查询，自定义查询
     *
     * @param page  翻页对象
     * @param queryWrapper 实体对象封装操作类 {@link com.baomidou.mybatisplus.core.conditions.query.QueryWrapper}
     */
    IPage<ConfigInfo> queryPage(IPage<ConfigInfo> page, Map<String,Object> params);
    
    /**
     * 查询配置信息 包括公共配置信息
     * @param queryWrapper 实体对象封装操作类 {@link com.baomidou.mybatisplus.core.conditions.query.QueryWrapper}
     */
    List<ConfigInfo> queryAppConfigs(Map<String,Object> params);
    
    /**
     * 保存添加
     * @param appConfig
     * @return
     */
    public boolean saveAdd(AppConfig appConfig);
    
    /**
	 * 批量删除选中的配置信息
	 * @param configIds
	 * @return
	 */
	public int deleteRecords(String[] configIds);
	
	/**
	 * 批量保存数据
	 * @param appConfigs
	 * @return
	 * @throws Exception
	 */
	public int batchSaveConfigRecord(List<AppConfig> appConfigs) throws Exception;
    
	/**
	 * 批量上传文件数据
	 * @param props
	 * @param overProp
	 * @param basicId
	 * @return
	 */
	int uploadProperties(SysUser sysUser,Properties props,boolean overProp,String basicId);
}
